function currentForm(id) {
	return $("#" + id);
}

function resetForm(id) {
	currentForm(id)[0].reset();
}

function loadForm(id, data) {
	var form = currentForm(id);
	
	var text_inputs = form.find('input[type="text"]');
	for(var i = 0; i < text_inputs.length; i++) {
		var text_input = $(text_inputs[i]);
		var nameAttr = data[text_input.attr('name')];
		text_input.val(toString(nameAttr));
	}
	
	var text_selects = form.find('select');
	for(var i = 0; i < text_selects.length; i++) {
		var text_select = $(text_selects[i]);
		var nameAttr = data[text_select.attr('name')];
		text_select.val(toString(nameAttr));
	}
	
	var textareas = form.find('textarea');
	for(var i = 0; i < textareas.length; i++) {
		var textarea = $(textareas[i]);
		var nameAttr = data[textarea.attr('name')];
		textarea.val(toString(nameAttr));
	}
	
}

function toString(obj) {
	if (obj == null) return "";
	return String(obj);
}

function getFocusFirstComponent(id) {
	currentForm(id).find('input[type="text"]:eq(0)').focus();
}

$.fn.serializeObject = function() {    
   var o = {};    
   var a = this.serializeArray();    
   $.each(a, function() {    
       if (o[this.name]) {    
           if (!o[this.name].push) {    
               o[this.name] = [o[this.name]];    
           }    
           o[this.name].push(this.value || '');    
       } else {    
           o[this.name] = this.value || '';    
       }    
   });    
   return o;    
};  

/************************************select下拉框 start*************************************/

/**
 * 清空
 */
function clearOptions(id) {
	$("#" + id).empty();
}

/**
 * 追加一个
 */
function appendOption(id, obj) {
	if(obj == null) {
		return;
	}
	
	$('#'+id).append("<option value= " + obj.value + ">" + obj.text + "</option>");
}

/**
 * 追加一个-没有value
 */
function appendOptionNoValue(id, text) {
	if(text == null || text == '') {
		return;
	}
	
	$('#'+id).append("<option>" + text + "</option>");
}

/**
 * 追加多个
 */
function appendOptions(id, array) {
	if(array == null) {
		return;
	}
	for(let i = 0; i < array.length; i++) {
		appendOption(id, array[i])
	}
}

/**
 * 追加多个-没有value
 */
function appendOptionsNoValue(id, array) {
	if(array == null) {
		return;
	}
	for(var i = 0; i < array.length; i++) {
		appendOptionNoValue(id, array[i])
	}
}

/**
 * 追加多个-没有value(去重)
 */
function appendOptionsNoValueNoRepeat(id, array) {
	if(array == null) {
		return;
	}
	
	$("#"+id+" option").each(function(i) {
		var index = array.indexOf(this.text);
		if(index != -1) {
			array.splice(index, 1);
		}
	});
	
	appendOptionsNoValue(id, array);
}

/**
 * 根据value删除一个
 */
function deleteOptionByValue(id, value) {
	$("#"+id+" option[value="+value+"]").remove();
}

/**
 * 删除选中值
 */
function deleteSelectedOptions(id) {
	return $('#'+id+' option:selected').remove();
}

/**
 * 获得选中值
 */
function getSelectedOptions(id) {
	return $('#'+id+' option:selected').val();
}

/**
 * 获得所有
 */
function getAllOptions(id) {
	
}

/**
 * 获得所有数据转成字符串
 */
function getAllOptionsToString(id) {
	var str = '';
	$("#"+id+" option").each(function(i) {
		str += this.text;
		str += ';';
	});
	str = str.substring(0, str.lastIndexOf(';')); 
	
	return str;
}
/************************************select下拉框 end*************************************/

